var $productList=$("#productList");
var productAdd=[];

$(function () {
    $('.form-horizontal select').selectpicker('refresh')
    getTrainingCustomer() //获取客户名称
    // getTrainingContact() //2、获取客户联系人下拉框
    productListFun()

    timeData('creatTm', 'creatTm', 'formTrain')
})
//获取客户名称 http://localhost:8081/trainingContract/getTrainingCustomerList
function getTrainingCustomer() {
    $.ajax({
        url:'/trainingContract/getTrainingCustomerList',
        type: 'get',
        dataType: "json",
        success:function (data) {
            if(data.code=='000000'){
                let optionHtml = `<option value="">请选择</option>`;
                data.data.map(function (item) {
                    optionHtml += '<option value="' + item.customerId + '">' + item.customerName + '</option>';
                });
                $('#customerName').html(optionHtml);
                $('#customerName').selectpicker('refresh')
            }else{
                $.alert('获取客户名称失败')
            }
        },
        error:function (err) {

            $.alert('获取客户名称失败')
        }

    })
}
function contactChange() {
    getTrainingContact()
}
//2、获取客户联系人下拉框 http://localhost:8081/trainingContract/getTrainingCustomerContactList

function getTrainingContact() {
    $.ajax({
        url:'/trainingContract/getTrainingCustomerContactList',
        type: 'get',
        data:{
            customerId:$("#customerName").val()
        },
        dataType: "json",
        success:function (data) {
            if(data.code=='000000'){
                let optionHtml = '';
                data.data.map(function (item) {
                    optionHtml += '<option value="' + item.contactId + '"  data-phone="'+item.contactInformation+'">' + item.contactName + '</option>';
                });
                $('#contactName').html(optionHtml);
                $('#contactName').selectpicker('refresh')
            }else{
                $.alert('获取客户联系人失败')
            }
        },
        error:function (err) {

            $.alert('获取客户联系人失败')
        }

    })
}
function contactPhones() {
    $("#contactDetails").val($("#contactName option:selected").attr('data-phone'))
}
//新增产品
function addTrainingProduct() {
    $('.add-product').bootstrapValidator({
        fields: {
            productName: {
                validators: {
                    notEmpty: {
                        message: '产品名称不能为空'
                    },

                }
            },
            productPrice: {
                validators: {
                    notEmpty: {
                        message: '价格不能为空'
                    },
                    regexp: {
                        regexp: /^\d{0,8}\.{0,1}(\d{1,2})?$/,
                        message: '请输入正确的价格'
                    }
                }
            },


        },
    })
    // if (isNaN(newVal) || newVal < 0) {
    //     promptInfo("请输入正确的价格！");
    //     $(e.target).val(preValue);
    //     return 'stop';
    // }
    $(".add-product").bootstrapValidator('validate');//提交验证
    if (!$(".add-product").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码

        return;
    }
    productAdd.push({
        productName:$("#productName").val(),
        productPrice:$("#productPrice").val()
    })
    $("#productModal").modal('hide')

    $productList.bootstrapTable('removeAll');
    $productList.bootstrapTable('append', productAdd);

    priceFun()
}
function priceFun() {
    let getproductList=$productList.bootstrapTable('getData');
    let price=0
    for(let i=0,len=getproductList.length;i<len;i++){
        price+=Number(getproductList[i].productPrice)
    }
    setTimeout(function () {
        $("#productMoney").text(price)
    },1)
}
// 取消
function cancelTrain() {
    $(".add-product input").val('')

    if($('.add-product').data('bootstrapValidator')!=undefined){
        $(".add-product").data('bootstrapValidator').destroy();
        $('.add-product').data('bootstrapValidator', null);

    }
}
$('#productModal').on('hide.bs.modal', function () {
    $(".add-product input").val('')
    if($('.add-product').data('bootstrapValidator')!=undefined){
        $(".add-product").data('bootstrapValidator').destroy();
        $('.add-product').data('bootstrapValidator', null);
    }
})
//产品列表
function productListFun() {
    $productList.bootstrapTable({
        class: 'table table-bordered table-hover table-striped',
        striped: true,                  // 是否显示行间隔色
        sortable: true,                 // 是否启用排序
        pagination: false,              // 是否显示分页
        minimumCountColumns: 2,         // 最少要显示的列数
        undefinedText: '-',        // cell没有值时显示
        // toolbar: '#productTableToolbar',
        uniqueId: 'productName',
        columns: [
            {title: '产品名称', field: 'productName', align: 'left', valign: 'middle'},
            {title: '价格', field: 'productPrice', align: 'left', valign: 'middle'},
            {title: '操作', field: '', align: 'right', valign: 'middle', events: operateEvents,formatter: genderOpt},
        ],
        onPostBody: function (data) {

        },
        onLoadSuccess: function (data) {
        },
    });
}
/**
 * 自定义操作列内容
 */
function genderOpt(){
    var btnHtml = '<button type="button" class="btn btn-default" id="delectedCont">删除</button>';


    return btnHtml;

}
window.operateEvents = {
    'click #delectedCont': function(e, value, row, index) {


        for(let i=0,len=productAdd.length;i<len;i++){
            if(productAdd[i].productName==row.productName && productAdd[i].productPrice==row.productPrice){
                productAdd.splice(i,1)
                $productList.bootstrapTable('removeAll');
                $productList.bootstrapTable('append', productAdd);
                break;
            }
        }
        priceFun()

    }
}

// 重置
function resetTrain() {
    // $(".form-horizontal input").val('')
    // $(".form-horizontal select").val('')
    // $('.form-horizontal select').selectpicker('refresh')
    // $(".form-horizontal textarea").val('')
    // $(".reset-clear input[type=checkbox]").attr('checked',false)
    // if($('.form-horizontal').data('bootstrapValidator')!=undefined){
    //     $(".form-horizontal").data('bootstrapValidator').destroy();
    //     $('.form-horizontal').data('bootstrapValidator', null);
    //
    // }
    window.location.reload();
}
//确认
function submitTrain() {
    //合同起止日期
    $('.form-horizontal').bootstrapValidator({
        fields: {
            customerName: {
                validators: {
                    notEmpty: {
                        message: '客户名称不能为空'
                    },

                }
            },
            contactName: {
                validators: {
                    notEmpty: {
                        message: '联系人不能为空'
                    }
                }
            },
            contactDetails: {
                validators: {
                    notEmpty: {
                        message: '联系方式不能为空'
                    }
                }
            },
            customerEmail: {
                validators: {
                    notEmpty: {
                        message: '电子邮箱不能为空'
                    }
                }
            },
            creatTm: {
                validators: {
                    notEmpty: {
                        message: '合同有效起止日期不能为空'
                    }
                }
            },



        },
    })
    $(".form-horizontal").bootstrapValidator('validate');//提交验证
    if (!$(".form-horizontal").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码

        return;
    }
    var contractPeriodValidity = $("#creatTm").val().split('至');
    var contractAnnexId = $('#contractPic').val();
    // 合同附件判空提示
    if (!contractAnnexId) {
        // 上传合同附件
        var contractFile = $('#contractImg');
        // 合同附件不为空上传图片并返回图片id
        if (contractFile.val()) {

            contractAnnexId = uploadImg('contractImg');
        } else {
            // $.alert({
            //     title: '温馨提示',
            //     content: '合同附件为必填项',
            //     buttons: {
            //         confirm: {
            //             text: '确认',
            //             btnClass: 'btn-primary'
            //         }
            //     }
            // });


            // return;
        }
    }
    let dataJson={
        customerId:$("#customerName").val(), //客户id
        customerName:$("#customerName option:selected").text(), //客户名称
        contactId:$("#contactName").val(),//联系人id
        contactName:$("#contactName option:selected").text(), //联系人名称
        contactDetails:$("#contactDetails").val(), //联系人方式
        customerEmail:$("#customerEmail").val(), //客户邮箱
        contractStartDate:$.trim(contractPeriodValidity[0]), ////合同开始日期
        contractEndDate:$.trim(contractPeriodValidity[1]), //合同结束日期
        contractReceivables:$("#productMoney").text(), //应收价格
        productList:$productList.bootstrapTable('getData'), //
        contractAnnexId:contractAnnexId, //附件id
        contractNotes:$("#contractNotes").val(), //备注
        trainingId:$("#trainingId").val(), //内训id
    }
    $.ajax({
        type: "post",
        url: "/trainingContract/addTrainingContract",
        data: JSON.stringify(dataJson),
        dataType: 'json',
        contentType: "application/json;charset=utf-8",
        success: function (data) {
            if(data.code=='000000'){
                $.alert({
                    title: '提示',
                    content: '操作成功',
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {

                                var $thisTabs = parent.$('.mt-nav-bar .nav-tabs').find('li.active');
                                var navTab = parent.$multitabs._getNavTab($thisTabs);

                                closeTab(navTab);
                                openTab("内训线索","/front/trainingManager/userTrainingForm");

                                delStorageAndRemove(navTab);
                            }
                        }
                    }
                })
            }else {
                $.alert(data.message);
            }
        },
        error:function(){
            $.alert("操作失败,请稍后再试!");
        }
    })
}


/**
 * 上传图片
 * */
//uploadImg fileSelected
var $fileUpLoad=$("#contractImg")
function uploadImg(type) {
    var $fileDom;
    if(type == 'contractImg'){
        $fileUpLoad = $("#contractImg");
        $fileDom = $('#contractPic');
    } else {
        $fileUpLoad = $("#examineImgBox");
        $fileDom = $('#examinedPic');
    }
    let fileToUpLoad = $fileUpLoad.prop('files')[0];
    // 功能：合同附件点取消按钮清空文件域内容
    if (!fileToUpLoad) {
        $fileDom.val('');
        return;
    }
    // 功能：限制上传文件大小为2M内
    if (fileToUpLoad && fileToUpLoad.size > 1 * 1024 * 1024) {
        promptInfo('附件最大为2M，请重新选择！', function () {
            $fileUpLoad.val('');
            $fileDom.val('');
        });
        return;
    }
    var formFile = new FormData();
    formFile.append("file", fileToUpLoad);
    var data = formFile;
    var imgId;
    $.ajax({
        url: '/file/uploadByOneFile',
        data: data,
        type: "POST",
        dataType: "json",
        async: false,
        cache: false,
        processData: false,
        contentType: false,
        success: function (data) {
            if (data.code == "000000") {
                $fileUpLoad.prev().val(data.data.fileId)
                // obj.next('input.image-id').val(data.data.fileId)

                imgId = data.data.fileId;
            } else {
            }
        },
        error: (function (res) {
            $.alert(res);
        })
    });
    return imgId;
}


